package controladores;

import java.text.SimpleDateFormat;
import modelos.daos.HabitacionDAO;
import modelos.pojos.Habitacion;
import tools.Utilidad;
import java.util.List;
import org.apache.log4j.Logger;

public class GestionHabitacionCont {

    protected static Logger log = Logger.getLogger(GestionHabitacionCont.class);
    
    public static String crearHabitacion(Habitacion nueva) {
            try {
                HabitacionDAO.crear(nueva);
            } catch (Exception ex) {
            }
        
        return mostrarResumenHabitacion(nueva.getNumero());
    }

    public static Habitacion buscarHabitacion(String numero) {
        Habitacion resultado = null;
        try {
            if (numero != null) {
                resultado = HabitacionDAO.consultar(numero);
            }
        } catch (Exception ex) {
        }
        return resultado;
    }

    public static List<Habitacion> listarHabitaciones(String numero) {
        List<Habitacion> listadoHabitacion = null;
        try {
            listadoHabitacion = HabitacionDAO.listar(numero);
        } catch (Exception ex) {
        }
        return listadoHabitacion;
    }

    public static String actualizarInformacion(Habitacion habitacion) {
        try {
            HabitacionDAO.actualizar(habitacion);
        } catch (Exception ex) {
        }
        return mostrarResumenHabitacion(habitacion.getNumero());
    }

    public static String mostrarResumenHabitacion(String numero) {
        Habitacion habitacion = null;
        try {
            habitacion = HabitacionDAO.consultar(numero);
        } catch (Exception ex) {
        }
        return "#" + habitacion.getNumero() + ", " + habitacion.getDistribucion() + ", " + Utilidad.pasarEstadoString(habitacion.getEstado());
    }
    
    public static List listarHabitacionesDisponibles(String distribucion) {
        List lista = null;
        try {
            lista = HabitacionDAO.consultarDisponibles(distribucion);
        } catch (Exception ex) {
        }
        return lista;
    }
    
    public static List listarHabitacionesDisponiblesPorRango(String distribucion, java.util.Date fechaIn, java.util.Date fechaOut) {
        List lista = null;
        try {
            SimpleDateFormat formatoIn = new SimpleDateFormat("yyyy/MM/dd");
            String cadenaFechaIn;
            cadenaFechaIn = formatoIn.format(fechaIn);
            SimpleDateFormat formatoOut = new SimpleDateFormat("yyyy/MM/dd");
            String cadenaFechaOut;
            cadenaFechaOut = formatoOut.format(fechaOut);
            lista = HabitacionDAO.consultarDisponiblesPorPeriodo(distribucion, new java.util.Date(cadenaFechaIn), new java.util.Date(cadenaFechaOut));
        } catch (Exception ex) {
        }
        return lista;
    }
    
}
